The present application relates to software and more specifically to software-based systems and methods for facilitating configuring and running a set of software processes that are implemented via one or more software services, such as Web services.
Software for facilitating configuring and running applications that employ service processes are employed in various demanding applications, including Enterprise Resource Planning (ERP), scientific distributed computing applications, and so on. Such applications often demand easily configurable, scalable, and portable Service Oriented Architectures (SOAs) that can be efficiently and accurately customized and deployed in various networked computing environments.
Readily scalable and configurable sets of software processes, i.e., applications, are particularly important in enterprise applications, such as software delivering process lifecycle management or process automation solutions Workforce Lifecycle Management (WLM) and Business Process Management (BPM) applications, where a given application may reference many services, such as services for facilitating automating various lifecycle management operations. A given lifecycle management/automation solution may include various services that perform parts of the lifecycle solution. Examples of lifecycle management/automation solutions include employee onboarding and offboarding software applications.
A given enterprise application may employ a collection of strategically sequenced service processes specified via a business process template, also called a process automation template. The business process template may include references, such as Uniform Resource Locators (URLs), specifying network addresses of services or service components to be executed as part of the application.
Conventionally, when configuring an application for deployment, a developer uses a configuration plan file to organize service references in preparation for deployment of an application that uses associated services. The developer may employ additional software, such as systems management or configuration management software, to determine proper reference addresses, i.e., endpoint locations for service references. The developer then manually updates the configuration plan based on the determined proper reference addresses.
However, the need to use additional software (e.g., systems management software) to manually update a configuration plan for each service reference may be particularly tedious and error prone, especially in Software As A Service (SAAS) architectures and so-called fast deployment models (and related Rapid Application Development (RAD) models), where end users often lack service host information. Furthermore, as the number of service references increases, configuration complexity may become prohibitive, thereby inhibiting application scalability and customizability. Accordingly, conventional methods for deploying template processes often lack effective mechanisms for facilitating managing complex software configurations.